package kr.pe.johnkim.waiting.mobile.dao;

import kr.pe.johnkim.waiting.mobile.domain.WaitingEvent;

import java.util.List;

/**
 * Waiting 이벤트 관련 Dao 인터페이스 이다.
 *
 * @author : John_Kim <cale9797@gmail.com>
 * @date : 13. 4. 24.
 */
public interface WaitingEventDao {

    /**
     * 이벤트를 등록 한다.
     *
     * @param waitingEvent
     */
    public void registerEvent(WaitingEvent waitingEvent);

    /**
     * 이벤트를 수정 한다.
     *
     * @param waitingEvent
     */
    public void updateEventInformation(WaitingEvent waitingEvent);

    /**
     * 이벤트 정보를 가져 온다.
     *
     * @param waitingEvent
     * @return
     */
    public WaitingEvent selectEventInformation(WaitingEvent waitingEvent);

    /**
     * 이벤트 목록을 가져 온다. 사용자의 smart phone 에 출력 된다.
     *
     * @param waitingEvent
     * @return
     */
    public List<WaitingEvent> selectUserEventList(WaitingEvent waitingEvent);

    /**
     * 이벤트 목록을 가져 온다. 가맹점의 iPad 에 출력 된다.
     *
     * @param waitingEvent
     * @return
     */
    public List<WaitingEvent> selectMerchantEventList(WaitingEvent waitingEvent);

    /**
     * 이벤트 활성화 여부를 업데이트 한다.
     *
     * @param waitingEvent
     */
    public void updateEventActivateYn(WaitingEvent waitingEvent);
}
